import {Texture} from './Texture.js';
import {CubeReflectionMapping, RGBFormat} from '../constants.js';

function CubeTexture(images, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy, encoding) {

  images = images !== undefined ? images : [];
  mapping = mapping !== undefined ? mapping : CubeReflectionMapping;
  format = format !== undefined ? format : RGBFormat;

  Texture.call(this, images, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy, encoding);

  this.flipY = false;

}

CubeTexture.prototype = Object.create(Texture.prototype);
CubeTexture.prototype.constructor = CubeTexture;

CubeTexture.prototype.isCubeTexture = true;

Object.defineProperty(CubeTexture.prototype, 'images', {

  get: function () {

    return this.image;

  },

  set: function (value) {

    this.image = value;

  }

});


export {CubeTexture};
